package org.goj.user.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.goj.common.entity.user.User;
import org.goj.user.vo.PersonClassify;
import org.goj.user.vo.PersonClassifyVO;
import org.goj.user.vo.PersonRecord;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 用户信息 Mapper 接口
 * </p>
 *
 * @author CK
 * @since 2020-12-02
 */
public interface UserMapper extends BaseMapper<User> {

    /**
     * 注册用户返回主键ID
     *
     * @param user 用户实体类
     * @return int
     * @author CK
     * @date 2021/3/21 11:14
     */
    int saveGetId(User user);

    /**
     * 查询个人擅长分类
     *
     * @param userId 用户ID
     * @return PersonClassifyVO.PersonClassify
     * @author CK
     * @date 2021/4/6 12:46
     */
    List<PersonClassify> personClassify(Integer userId);

    /**
     * 查询个人活动记录
     *
     * @param page 分页
     * @param userId 用户ID
     * @return Page<PersonRecord>
     * @author CK
     * @date 2021/4/6 15:29
     */
    Page<PersonRecord> personRecord(Page<PersonRecord> page, @Param(value = "userId") Integer userId);

    /**
     *
     * 管理员添加用户
     *
     * @param user 用户
     * @return int
     * @author CK
     * @date 2021/5/11 14:52
     */
    int insertUser(User user);
}
